Boot start up problems limit system performance and can lead to undesirable down time and in extreme situations, the user deeming the machine as unrecoverable. This can ostensibly create a situation where data is lost, not by necessity, but by lack of experience or frustration. The source of boot problems abound and can come from registries getting corrupted, system files corruption, service problems, and missing drivers, to name a few.
In conventional systems, a user is left to determine what is causing the problem in order for the user to be able to fix the problem. There are no effective ways to diagnose problems that occur, i.e., the problems that caused the boot failure. Instead, conventional systems at most provide manual recovery that seeks to restore some previous stored default or “safe” boot environment. The most common examples are recovery boot disks or a user's ability to boot from the original CD-ROM of the operating system. The process is manually operated, because the computer system polls the user to initiate recovery.
Some systems attempt to expedite boot start-up upon a boot failure by storing multiple basic input/output system (BIOS) initial memory locations in hardware or firmware. The BIOS, the main operating system BIOS, may start up via executing a boot loader sequence starting at a fixed, stored memory location of a boot block. If that main boot loader sequence does not initiate, then the firmware/hardware may instruct the system to go to a second memory location of the boot block to execute a “safe” boot loader sequence, for example, a separately stored, factory default boot loader sequence. Of course, in practice such systems are incomplete.
These systems do not actually diagnose the reasons for boot failure; instead they are based on restoring the system state to a previously bootable one, irrespective of the cause of the failure. These systems require a separate recovery disk, which in some circumstances may not be available, either because the disk is not available or because the failure to even initialize drivers in the computer system means that the computer system does not recognize its own CD-ROM, floppy, Universal Serial Bus (USB), or other drives. Plus these techniques are only directed to the situation where memory location access and code execution is affected. That is, the techniques are only directed to problems right at the earliest stages of start-up. These systems do not address or correct for boot problems that arise after the boot loader has started.